﻿#ifndef XTypeNAMESPACE_H
#define XTypeNAMESPACE_H

#include <QtCore/qglobal.h>

QT_BEGIN_NAMESPACE

namespace xvs{

    enum DeviceType{
        PLC,
        LocalRegisters
    };

    enum ModbusDataType{
        Coil,
        Register
    };

    enum CoilObjectType{
        M,
        X,
        Y,
        S,
        M8xxx,
        T,
        C
    };

    enum RegistersObjectType{
        D,
        TD,
        CD,
        D8xxx,
        FD,
        FD8xxx,
        ED,
        DM,
        DX,
        DY,
        DS,
        DM8xxx,
        DT,
        DC,
        ID,
        QD
    };

    enum DashBoardPointerDirection{
        Clockwise,
        Anti_Clockwise
    };

    enum PushButtonOperate{
        Set_ON,
        Set_OFF,
        Set_REVERSE,
        Set_Instantaneous_On,
    };

    enum PushButtonStatus{
        CommonStatus,
        MouseHoverStatus,
        PressInstance,
        PressStatus,
        ReleaseInstance,
        ReleaseStatus
    };

    enum FourArithmeticType{
        Addition,
        Subtraction,
        Multiplication,
        Division
    };

    enum NumberType{
        Constant,
        Variable
    };

    enum DataBaseFormat{
        Dec,
        Hex,
        Float,
        Unsigned
    };

    enum ValueType{
        Word,
        DWord
    };

    enum ScaleChartDirection{
        Face_UP,
        Face_Down,
        To_Left,
        To_Right
    };

    //2022_03_09添加曲线样式类型
    enum ChartSeriesType{
        Scatter_Series,
        Impulse_Series,
        Line_Series,
        Bar_Series,
        ScatterLine_Series,
        ScatterBar_Series,
        LineBar_Series,
        ScatterLineBar_Series
    };

    enum ChartValueTextPosition{
        None_ValueText,
        TopOutside_ValueText,
        TopInside_ValueText,
        CenterInside_ValueText,
        BottomInside_ValueText
    };

    enum ChartTickLabelType{
        Default_TickLabel,
        Custom_TickLabel
    };

    enum BarsPlaceStrategy{
        Adjacent_BarsPlace,
        Stack_BarsPlace
    };

//    enum ChartPenBrushStrategy{
//        Independent,
//        PenCloneBrush,
//        BrushClonePen
//    };
//    Q_ENUM(ChartPenBrushStrategy)
//    Q_DECLARE_FLAGS(ChartPenBrushStrategys, ChartPenBrushStrategy)


    enum ChartDisplayPattern{
        StaticPaper_DynamicPen,
        DynamicPaper_StaticPen
    };

    enum ChartTimeDisplayPattern{
        Top,
        Bottom,
        Undisplay
    };
}
QT_END_NAMESPACE

#endif // XTypeNAMESPACE_H
